В этом упражнении вы будете использовать podman для извлечения, администрирования и удаления образов контейнеров на сервере.
podman
Результаты
Вы сможете находить, извлекать, просматривать и удалять образы контейнеров, полученные из удаленного реестра контейнеров и сохраненные на сервере.
На машине workstation выполните команду lab containers-managing start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Она также проверяет и настраивает реестр контейнеров и обеспечивает хранение в нем образа контейнера, используемого для этого упражнения.
workstation
lab containers-managing start
servera
[student@workstation ~]$ lab containers-managing start
[student@workstation ~]$
Процедура 13.2. Инструкции
С помощью команды ssh войдите на машину servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.
ssh
student
[student@workstation ~]$ ssh student@servera ...output omitted... [student@servera ~]$
ssh student@servera
[student@servera ~]$
Отобразите файл конфигурации реестров контейнеров и просмотрите настроенные реестры.
[student@servera ~]$ cat /home/student/.config/containers/registries.conf unqualified-search-registries = ['registry.lab.example.com'] [[registry]] location = "registry.lab.example.com" insecure = true blocked = false
cat /home/student/.config/containers/registries.conf
С помощью команды podman search найдите в реестре образы, имена которых начинаются на «ubi».
podman search
[student@servera ~]$ podman search registry.lab.example.com/ubi INDEX NAME DESCRIPTION STARS OFFICIAL example.com registry.lab.example.com/ubi7/ubi 0 example.com registry.lab.example.com/ubi8/ubi 0
podman search registry.lab.example.com/ubi
Войдите в реестр контейнеров с помощью команды podman login.
podman login
[student@servera ~]$ podman login registry.lab.example.com Username: admin Password: redhat321 Login Succeeded!
podman login registry.lab.example.com
Username:
admin
Password:
redhat321
С помощью команды skopeo inspect просмотрите сведения об образе в реестре, прежде чем загружать его.
skopeo inspect
Следующая команда skopeo inspect очень длинная, и ее необходимо вводить в одной строке:
[student@servera ~]$ skopeo inspect docker://registry.lab.example.com/rhel8/httpd-24 ...output omitted... "Config": { "User": "1001", "ExposedPorts": { "8080/tcp": {}, "8443/tcp": {} }, "Env": [ "PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "container=oci", "SUMMARY=Platform for running Apache httpd 2.4 or building httpd-based application", "DESCRIPTION=Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites.", "STI_SCRIPTS_URL=image:///usr/libexec/s2i", "STI_SCRIPTS_PATH=/usr/libexec/s2i", "APP_ROOT=/opt/app-root", "HOME=/opt/app-root/src", "PLATFORM=el8", "HTTPD_VERSION=2.4", "HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/", "HTTPD_APP_ROOT=/opt/app-root", "HTTPD_CONFIGURATION_PATH=/opt/app-root/etc/httpd.d", "HTTPD_MAIN_CONF_PATH=/etc/httpd/conf", "HTTPD_MAIN_CONF_MODULES_D_PATH=/etc/httpd/conf.modules.d", "HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d", "HTTPD_TLS_CERT_PATH=/etc/httpd/tls", "HTTPD_VAR_RUN=/var/run/httpd", "HTTPD_DATA_PATH=/var/www", "HTTPD_DATA_ORIG_PATH=/var/www", "HTTPD_LOG_PATH=/var/log/httpd" ], "Entrypoint": [ "container-entrypoint" ], "Cmd": [ "/usr/bin/run-httpd" ], "WorkingDir": "/opt/app-root/src", ...output omitted...
skopeo inspect docker://registry.lab.example.com/rhel8/httpd-24
С помощью команды podman pull извлеките образ контейнера из реестра.
podman pull
[student@servera ~]$ podman pull registry.lab.example.com/rhel8/httpd-24 Trying to pull registry.lab.example.com/rhel8/httpd-24... Getting image source signatures Copying blob 77c58f19bd6e done Copying blob 47db82df7f3f done Copying blob 9d20433efa0c done Copying blob 71391dc11a78 done Copying config 7e93f25a94 done Writing manifest to image destination Storing signatures 7e93f25a946892c9c175b74a0915c96469e3b4845a6da9f214fd3ec19c3d7070
podman pull registry.lab.example.com/rhel8/httpd-24
С помощью команды podman images просмотрите локально сохраненные образы.
podman images
[student@servera ~]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE registry.lab.example.com/rhel8/httpd-24 latest 7e93f25a9468 4 weeks ago 430 MB
С помощью команды podman inspect просмотрите сведения о локально сохраненном образе.
podman inspect
[student@servera ~]$ podman inspect registry.lab.example.com/rhel8/httpd-24 ...output omitted... "Config": { "User": "1001", "ExposedPorts": { "8080/tcp": {}, "8443/tcp": {} }, "Env": [ "PATH=/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "container=oci", "SUMMARY=Platform for running Apache httpd 2.4 or building httpd-based application", "DESCRIPTION=Apache httpd 2.4 available as container, is a powerful, efficient, and extensible web server. Apache supports a variety of features, many implemented as compiled modules which extend the core functionality. These can range from server-side programming language support to authentication schemes. Virtual hosting allows one Apache installation to serve many different Web sites.", "STI_SCRIPTS_URL=image:///usr/libexec/s2i", "STI_SCRIPTS_PATH=/usr/libexec/s2i", "APP_ROOT=/opt/app-root", "HOME=/opt/app-root/src", "PLATFORM=el8", "HTTPD_VERSION=2.4", "HTTPD_CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/httpd/", "HTTPD_APP_ROOT=/opt/app-root", "HTTPD_CONFIGURATION_PATH=/opt/app-root/etc/httpd.d", "HTTPD_MAIN_CONF_PATH=/etc/httpd/conf", "HTTPD_MAIN_CONF_MODULES_D_PATH=/etc/httpd/conf.modules.d", "HTTPD_MAIN_CONF_D_PATH=/etc/httpd/conf.d", "HTTPD_TLS_CERT_PATH=/etc/httpd/tls", "HTTPD_VAR_RUN=/var/run/httpd", "HTTPD_DATA_PATH=/var/www", "HTTPD_DATA_ORIG_PATH=/var/www", "HTTPD_LOG_PATH=/var/log/httpd" ], "Entrypoint": [ "container-entrypoint" ], "Cmd": [ "/usr/bin/run-httpd" ], "WorkingDir": "/opt/app-root/src", ...output omitted...
podman inspect registry.lab.example.com/rhel8/httpd-24
С помощью команды podman rmi удалите локально сохраненный образ.
podman rmi
[student@servera ~]$ podman rmi registry.lab.example.com/rhel8/httpd-24 Untagged: registry.lab.example.com/rhel8/httpd-24:latest Deleted: 7e93...7070
podman rmi registry.lab.example.com/rhel8/httpd-24
Выполните команду podman images, чтобы убедиться, что локально сохраненный образ был удален.
[student@servera ~]$ podman images REPOSITORY TAG IMAGE ID CREATED SIZE
Выйдите с servera.
[student@servera ~]$ exit logout Connection to servera closed. [student@workstation ~]$
exit
Конец
На машине workstation запустите сценарий lab containers-managing finish, чтобы закончить это упражнение.
lab containers-managing finish
[student@workstation ~]$ lab containers-managing finish
Упражнение завершено.